/*
  学习目标：字面量类型
  字面量类型：值作为类型
  场景： 常和联合类型配合，表示一组可选的取值范围
*/

let str = '123';

let str3: 'hello React' | 'hello 71' = 'hello 71';
let str4: 'hello React' | 'hello 71' = 'hello React';

// 需求：action是一个对象类型，
// 需求：type字段是必选属性，type的值只能是其中之一：todo/add 、 todo/del、 todo/update

type ActionType = { type: 'todo/add' } | { type: 'todo/del' } | { type: 'todo/update' };
function dispatch(action: ActionType) {
  console.log('action  ----->  ', action);
}

dispatch({ type: 'todo/add' });
dispatch({ type: 'todo/add' });
dispatch({ type: 'todo/update' });
